Friday, June 26, 2015

3.02. Ensure proper and achievable goals and objectives for any project on which they work or propose.

A Software engineer should realize what are the proper and achievable goals and objectives for any project on which they work or propose. Because there may be limited resources have been allocated for the project and they should understand what are the goals they can achieve using the available resources.

In our project and we had limited time to do the project so we had to adapt to the current situation and change the scope which was suitable for the available resources. Because when we have put a large scope and if we couldn't achieve the goals and objectives there is no meaning of doing such a project. 

7.02. Assist colleagues in professional development.



As a software engineer assist colleagues in professional development is a good thing to others as well as to him. Also as a human helping others is a good thing.
Since this was a group work assisting other group members was a very important fact with respect to the success of the project. We had a limited time to do whole thing so we wanted to work team and help others as much as possible. We held a group meeting every week to discuss the progress of the project. In this meeting we talked about problems we had to face during that week. 

When we building a website like this we had to get support from more parties to make it successful in every way. 

8.02. Improve their ability to create safe, reliable, and useful quality software at reasonable cost and within a reasonable time.


In software industry, developers try to deliver a quality outcome according to client’s pre defined requirements. In order to do so they need to improve their ability to create safe, reliable, and useful quality software with affordable cost and within a reasonable time.

When we talk about our project he it was carried out as an charity project therefore  we tried hard to minimized cost that incurred for the project and tried  to finish the project as quickly as possible.

Also if it is not reliable and not useful, the effort become a waste. Also the quality is another important fact of a project. The major challenge was to develop the website with a low cost  with the expected level of quality, features, safety and reliability requirements. Also the website need to be reliable as it should give the correct information for the people are using this  website. As a team we tried our best to create safe, reliable and useful web application within the limited time and were able to do
desired work what we thought.

8.06 Improve their knowledge of this Code, its interpretation, and its application to their work.

In the development project, we are focusing on majorly ethics.We code must be read one by one all the guidelines and should understand that they clearly.Actually this is a good thing, with all the contact we could codes.Sometimes encounter the problem in action, we may want to know whether moral or not.

In specific things in such circumstances, if we have a good understanding of the code, it would not be difficult to get a action.I considered ethical codes are practical, we need to apply for each of them, we work.Then form of this code, we will know its legitimate applications.Through this project, I can improve my knowledge of the code and its applications. it is an experience each project is interesting practice code. I feel like a professional is worth this code. 

3.13 Be careful to use only accurate data derived by ethical and lawful means and use it only in ways properly authorized.

As a software engineer it is a responsibility to use   only accurate data derived by ethical and lawful means and use it only in ways properly authorized for their productions.

In our system we have stored data of bus routes and places in a database. To give a correct result in the web site the data in the web site should be accurate and derived by ethical and lawful means. Otherwise the web site guide the users to wrong locations.

The accuracy of the whole system is depend on the accuracy of data which have been used for the system. Therefore when gathering data we went to provincial passenger transport service department and got the authorization to use data. Also we met bus owners, drivers and conductors to collect reason-full data.  

Also the accuracy of the data was tested numerous times while preparing the application.

3.10. Ensure adequate testing, debugging, and review of software and related documents on which they work.

Testing is important features when considering the quality of a software. As a software engineer testing, debugging and review of software and related documents on which they work is really important for the success of a project. It should not be limit to only in testing phase. After deliver the software it is good to test and debug. Because some errors are hard to find in the testing phase and can be found in later.

Even though we operated in a tight time schedule, we did numerous testing while at development and also before deploying the system If their were errors we couldn't achieve the purpose of this website and it will become useless. It is need to find errors regularly need to fix them. In our system users are people who come to the Colombo from all over the country. So they use the system as a guider to reach their destinations. what happen if there were errors and it guides them to wrong location they are totally destitute. So it was highly needed to make errors and bug free application. We tried our best to make a high accuracy web application by testing, debugging the software. 

7.05. Give a fair hearing to the opinions, concerns, or complaints of a colleague.





As a software engineer it is very important to give a fair hearing to the opinions, concerns, or complaints of a colleague for the success of a particular project. They should never underestimate others. Their views can enhance everything: methods, standards, processes and overall effectiveness. So it’s really important to give a fair hearing of the opinions, concerns or complains of a colleague or team member.

In our case it was really important to get ideas of others. Because some people have the real experience with finding bus routes and places. So they can give good ideas in a user point of view. Also some one have a different look for the system and concerning their ideas will give a better solution. In developing this web application we always tried make discussions with group members and argued with each others and got a better product finally.

There were lot of arguments in the group. But the most important thing was we were able mange them and become with great solution for the particular problem. In the earlier we had to decide what technologies should we use for developing the software. It could be Joomla, wordpress, or hardcoded. Finally we decided to hard code the system. Also when it comes to hosting there we have to decide where should we host the application and group members came with different ideas. So we discussed as a group were able to become to a one good solution


1.01. Accept full responsibility for their own work.


Software Engineers should be able to accept the full responsibility for their own work. For an example if you deliver a buggy software product the Software Engineer should be able to take the responsibility of it. Also if there is data which have been installed during the implementation, software engineers should get the responsibility of the accuracy in that data. If the product is client-based one, a mistake by the software engineer might affect to the image of the client. So the software engineer has the full responsibility to make the proper product.

When it comes to our case the information of routes and places which we have been added to the database should be correct. Also the algorithms which we use in the system should work correctly and should give the correct result every time.

When users of the system have put on their trust on the system and use buses according to the system and what happen if it comes to a worst situation could't find their destination.

So we have the full responsibility as the developers as always do the proper things.  


Introduction




Our project is a web site which is capable of giving bus route and details after entering start and destination cities around Colombo city area.


When we consider about people who come to Colombo city everyday, lot of people don't know how the passenger services happen here and how can they find the necessary bus to reach their destination. So they are totally destitute. Let's think the first time when we came to the Colombo. How much it was difficult to find a bus to reach our destination. How much we were destitute. So this is happen to thousands of people who come to the Colombo everyday. Some times they may come from rural areas of the country and have limited time to do their work and have to go their homes before night. So it is really helpful to them if there is method to find details about those routes and buses.

The web site works like this way. If you enter two locations (from - A and to - B) and the system first sees if it can get you from A to B using one bus, by running a simple nested query. It checks if the bus is running in the right direction (i.e. the stop number of B is greater than A) and gives you the result. This is stage 1. If this fails, the system tries to find a bus running from A to a changeover location C, and then another bus from that changeover location to B. These changeover locations are pretty well known, and are hard-coded into the system. This is stage 2, failing which the system attempts to find 3 buses (stage 3) to get you from A to C, C to D, and D to B, where both C and D are changeover locations. If, in stages 2 or 3, multiple combinations of buses are returned, the system chooses the bus combination with the lowest combined number of stops.

As a example if a person want to go to Battaramulla from Campus(near Science Faculty) the system gives results in this way